#include<iostream>
#include<vector>

using namespace std;

int rob(vector<int>& nums) {
    int n = nums.size();
    vector<int> f(n, 0);
    auto g = f;
    f[0] = nums[0];
    for (int i = 1; i < n; i++)
    {
        f[i] = g[i - 1] + nums[i];
        g[i] = max(f[i - 1], g[i - 1]);
    }
    return max(f[n - 1], g[n - 1]);
}